Skip to content
View d-krupke's full-sized avatar

Organizations

@CG-SHOP @tubs-alg

Block or report d-krupke

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
d-krupke/README.md

Dr. Dominik Krupke

PostDoc Researcher & Freelance Algorithm Engineer

TU Braunschweig, Algorithms Group (Prof. Fekete)

I research, teach, and consult in algorithm engineering, specializing in NP-hard combinatorial optimization problems by leveraging Mixed Integer Programming, Constraint Programming, SAT solvers, graph algorithms, and meta-heuristics. My key strength is in my full-stack expertise, blending theoretical computer science, operations research, mathematical optimization, data science, and robust software engineering. In my roles at the university and as a freelance consultant, I have successfully applied my skills across diverse projects, and I am always open to further opportunities that let me deepen and broaden my skill set.

How my combined skills add value:

  • Theoretical Computer Science & Algorithm Engineering: My background enables me to abstract problems, identify their complexities, and recognize practical implications beyond worst-case analyses. I know when to trust O-notation, and when not.
  • Mathematical Optimization & Software Engineering: I efficiently translate problems into mathematical formulations and troubleshoot solver performance. I also employ Test-Driven Development and strong software engineering practices to ensure robust, maintainable code, minimizing hidden bugs and maximizing agility.
  • Operations Research & Practical Deployment: My consulting experience enables me to adapt theoretical algorithms effectively to real-world scenarios, smoothly transitioning between theoretical abstractions and practical deployments (e.g., Linux servers, CI/CD, Docker).
  • Generalist Insight: Familiarity with various optimization techniques allows me to choose the most suitable tools, avoid biases toward particular methods, and creatively misuse techniques to solve unconventional challenges effectively.
  • Cross-Disciplinary Agility: Working concurrently in research, teaching, and consulting, I rapidly adapt to diverse problems, bridging gaps between academic theory, textbook scenarios, and practical solutions.

Key Contributions:

Pinned Loading

  1. cpsat-primer cpsat-primer Public

    The CP-SAT Primer: Using and Understanding Google OR-Tools' CP-SAT Solver

    Jupyter Notebook 487 41

  2. tubs-alg/SampLNS tubs-alg/SampLNS Public

    An LNS-based algorithm with lower bound computation for pairwise configuration sampling.

    Jupyter Notebook 3

  3. CP-SAT-Log-Analyzer CP-SAT-Log-Analyzer Public

    A webapp that visualizes and annotates your ortools' CP-SAT logs. Partially inspired by gurobi-logtools.

    Python 40 4

  4. slurminade slurminade Public

    A decorator-based slurm runner.

    Python 13 4

  5. skbuild-conan skbuild-conan Public

    An extension for scikit-build to add C++-dependencies as easily as Python dependencies via conan.

    Python 5 4

  6. ALENEX24-partial-coverage-path-planning ALENEX24-partial-coverage-path-planning Public

    Code and Data for the Paper "Near-Optimal Coverage Path Planning with Turn Costs" ALENEX 2024

    Jupyter Notebook 25 2